import { PureComponent } from "react";

class CartPage extends PureComponent {
  render() {
    return <h2>购物车</h2>
  }
}

class LoginPage extends PureComponent {
  render() {
    return <h2>请先登录~</h2>
  }
}

function WithAuth(WrappedComponent) {
  //默认名是 Anonymous
  // return props => {
  //   const { isLogin } = props
  //   return isLogin ? <WrappedComponent {...props} /> : <LoginPage />
  // }

  const NewCpn = props => {
    const { isLogin } = props
    return isLogin ? <WrappedComponent {...props} /> : <LoginPage />
  }
  NewCpn.displayName = 'AuthCpn'
  return NewCpn
}

//需要登录验证的页面 传给这个高阶组件就可以了
const AuthPage = WithAuth(CartPage)

class App extends PureComponent {
  render() {
    return (
      <div>
        <AuthPage isLogin={true} />
      </div>
    )
  }
}

export default App